﻿using IntelligentGateway.Model;
using  IntelligentGateway.Model.Panel;
using System.IO.Ports;

namespace IntelligentGateway.Services
{
    public class GlobalVariables
    {
        public static object NextNumberLock = new object();
        public static List<SignalPoint> SignalPointList = new List<SignalPoint>();
        public static List<SignalPointClear> SignalPointClearList = new List<SignalPointClear>();
        public static List<DeviceMessage> DeviceList = new List<DeviceMessage>();
        public static WebSocketClient IntelligentWebSocketClient { get; set; }//人脸识别
        public static TPWebsocketServer IntelligentWebSocketServer { get; set; }//推送梯控状态
        public static List<IntPtr> TPWebSocketIntPtrs { get; set; } =new List<IntPtr>();
        public static SerialPortServer SerialPortServer { get; set; } //门口机
        //public static IGTCPClient IGTCPClient { get; set; }
        public static IGTCPServer IGTCPServer { get; set; } //CEMS设备
        public static TPWebSocketServerSetting TPWebSocketServerSetting {  get; set; }=new TPWebSocketServerSetting();
        public static IGWebSocketServerSetting IGWebSocketServerSetting { get; set; } = new IGWebSocketServerSetting();
        public static IGSerialPortSetting IGSerialPortSetting { get; set; } = new IGSerialPortSetting();     
        public static IGTCPServerSetting IGTCPServerSetting { get; set; } = new IGTCPServerSetting(); 
        public static string Token { get; set;  }
        public static string SyncPanelUser { get; set; }
        public static string SyncPanelPassword { get;    set; }
        public static System.Collections.Concurrent.ConcurrentDictionary<string, NetDev> PanelDevices = new System.Collections.Concurrent.ConcurrentDictionary<string, NetDev>();
    }
}
